Akka.NET 中的 Actor 被設計成一次只能處理一個訊息,套 async/await 都沒屁用,都必須等當前的訊息處理完畢才會從 Mailbox 接收下一個訊息。
⠀
不過可以將訊息丟給一個 Task 之後就不理它,但是這就跟 Akka.NET 脫勾了,底下有一個解法是用 PipeTo 這個擴充方法來模擬非同步呼叫的效果。
⠀
--
How to Do Asynchronous I/O with Akka.NET Actors Using PipeTo
https://petabridge.com/blog/akkadotnet-async-actors-using-pipeto/
⠀
--
Akka.NET PipeTo Sample
https://github.com/petabridge/akkadotnet-code-samples/tree/master/PipeTo
⠀
--
Exception Handling with akka.net PipeTo() on Task
https://stackoverflow.com/questions/48803038/exception-handling-with-akka-net-pipeto-on-task